﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using GrayParrot.Web.Formly;

namespace WebTest.Metadata
{
    public class EmployeeMetadata
    {
        [FieldGroup(GroupName = "primo", Row = 2, Index = 3, NumberOfColumns = 4)]
        [FormFieldAttribute(Type = FormFieldTypes.Input)]
        [TextTemplateOptionsAttribute(Label = "Employee Id",
            Description = "Lunghezza max 50 caratteri",
            Placeholder = "Indicare il numero documento",
            Required = true,
            MinLength = 0,
            MaxLength = 50)]
        public int EmployeeId { get; set; } // EmployeeID (Primary key)

        [AddOn(Position = Position.Right, Class = "glyphicon glyphicon-ok", OnClick = "CheckCallback")]
        [FieldGroup(GroupName = "secondo", Row = 1, Index = 2, NumberOfColumns = 4)]
        [FormFieldAttribute(Type = FormFieldTypes.Input)]
        [TextTemplateOptionsAttribute(Label = "Last Name",
            Description = "Lunghezza max 50 caratteri",
            Placeholder = "Indicare il numero documento",
            Required = true,
            MinLength = 0,
            MaxLength = 50)]
        public string LastName { get; set; } // LastName

        [FieldGroup(GroupName = "secondo", Row = 1, Index = 1, NumberOfColumns = 4)]
        [FormFieldAttribute(Type = FormFieldTypes.Input)]
        [TextTemplateOptionsAttribute(Label = "First Name",
            Description = "Lunghezza max 50 caratteri",
            Placeholder = "Indicare il numero documento",
            Required = true,
            MinLength = 0,
            MaxLength = 50)]
        public string FirstName { get; set; } // FirstName

        [FieldGroup(GroupName = "terzo", Row = 3, Index = 1)]
        [FormFieldAttribute(Type = FormFieldTypes.Image)]
        [ImageTemplateOptionsAttribute(Label = "Foto",
            Description = "Inserisci la foto del pezzo",
            Placeholder = "",
            Required = true,
            Folder = "/img_products")]
        public string FotoProdotto { get; set; }

        [FormFieldAttribute(Type = FormFieldTypes.Number)]
        [NumericTemplateOptions(Label = "Periodo di Validità",
                                Description = "L'avvenimento sarà proposto automaticamente se la sua data cade nell'intervallo compreso tra oggi e oggi + il periodo di validità",
                                Placeholder = "Inserisci il numero di giorni rappresentanti il periodo di validità...",
                                Required = true,
                                Value = 7)]
        public int PeriodoValidita { get; set; } 

        [FormFieldAttribute(Type = FormFieldTypes.Checkbox)]
        [CheckBoxTemplateOptions(Label = "Manif. In Creator",
            Placeholder = "Indica se le quote dei match della manifestazione deve passare dal creator...",
            Description = "Indica se le quote dei match della manifestazione deve passare dal creator...",
            Required = false,
            DefaultValue = true)]
        public bool ManifestazioneInCreator { get; set; }



        //public string Title { get; set; } // Title
        //public string TitleOfCourtesy { get; set; } // TitleOfCourtesy
        //public DateTime? BirthDate { get; set; } // BirthDate
        //public DateTime? HireDate { get; set; } // HireDate
        //public string Address { get; set; } // Address
        //public string City { get; set; } // City
        //public string Region { get; set; } // Region
        //public string PostalCode { get; set; } // PostalCode
        //public string Country { get; set; } // Country
        //public string HomePhone { get; set; } // HomePhone
        //public string Extension { get; set; } // Extension
        //public byte[] Photo { get; set; } // Photo
        //public string Notes { get; set; } // Notes
        //public int? ReportsTo { get; set; } // ReportsTo
        //public string PhotoPath { get; set; } // PhotoPath

        public EmployeeMetadata()
        {

        }
    }
}